home *** CD-ROM | disk | FTP | other *** search
/ PCMania 73 / PCMania CD73_1.iso / pcmania / render73 / Foro / MONTERDE / MOSCA / FUENTES / HROKIBUM.INC next >
Text File  |  1997-12-19  |  8KB  |  289 lines

  1. /*
  2.      Destruccion del caza Hroki por Carlos Monterde Escudero
  3.  
  4. no suelo usar texturas predefinidas, me parece de gorrones, aunque no dudo
  5. en "robarle" a Jose Manuel Muñoz su modelo de caza Hroki, pero es por una
  6. buena causa.
  7.  
  8. */
  9.  
  10. //#include "colors.inc"
  11. //#include "Golds.inc"
  12. //#include "metals.inc"
  13. //#include "skies.inc"
  14. //#include "woods.inc"
  15. //#include "textures.inc"
  16.  
  17.  
  18. //#declare tex_metal1=texture{T_Silver_2E}
  19. //#declare tex_metal2=texture{T_Silver_2C}
  20. //#declare tex_cupula=texture{T_Gold_2C}
  21. //#declare tex_reactor=texture{T_Silver_2E}
  22.  
  23. //intento de metal nuevo
  24.  
  25. #declare tex_metala1=texture{pigment{rgb<.6,.6,.6>}
  26.                             finish{metallic on specular 1.5 roughness .1 brilliance 3 ambient .1}
  27.                             }
  28.  
  29. //intento de metal oxidado
  30.  
  31. #declare tex_metalb1=texture{pigment{rgb<.6,.45,.3>}
  32.                              finish{crand .1}
  33.                              }
  34.  
  35. //la textura bozo que tanto me gusta para naves viejas
  36.  
  37. #declare tex_metal1 = texture{ bozo texture_map{[0 tex_metala1]
  38.                                                 [.4 tex_metala1]
  39.                                                 [1 tex_metalb1]
  40.                                                 }
  41.                               scale 5}
  42.  
  43. //metal oscuro para los flaps de las alas
  44.  
  45. #declare tex_metal2=texture{pigment{rgb<.2,.2,.2>}
  46.                             finish{metallic on specular .1}
  47.                             }
  48. //textura de la cabina
  49.  
  50. #declare tex_cupula=texture{pigment{rgb<.6,.4,.3>}
  51.                             finish{ ambient .3 diffuse .7 metallic on specular 1.2 roughness .01 reflection .5 brilliance 3}}
  52.  
  53. //textura de los motores (bueno de uno, porque el otro... :-D :-D)
  54.  
  55. #declare tex_reactor=texture{pigment{rgb<.9,.9,.9>}
  56.                              finish{metallic on specular .5 roughness .1 brilliance 2}
  57.                              }
  58.  
  59. //textura del plasma del motor (no estoy seguro de que vaya a plasma.
  60.  
  61. #declare tex_plasma = texture{pigment{rgb<.7,.8,1.1>}
  62.                               finish{ambient 1 diffuse 0}
  63.                               }
  64.  
  65. /*
  66. #declare tex_metal1=texture{pigment{Orange}}
  67. #declare tex_metal2=texture{pigment{Orange}}
  68. #declare tex_cupula=texture{pigment{Orange}}
  69. #declare tex_reactor=texture{pigment{Orange}}  */
  70.  
  71.  
  72. //pieza correspondiente a la vista superior del cuerpo central
  73. #declare pi1top=prism{
  74. cubic_spline
  75. //linear_spline
  76.     10,
  77.     -10,
  78.     36,
  79.     <1,1>
  80.     <2,-30>, <-2,-30>, <-5,-29>, <-7,-27>, <-9,-24>,
  81.     <-10,-23>, <-12,-22>, <-13,-22>, <-15,-23>, <-17,-25>, <-19,-26>,
  82.     <-20,-26>, <-22,-24>, <-23,-22>, <-24,-17>, <-24,-11>, <-23,-6>,
  83.     <-22,-4>, <-21,2>, <-21,6>, <-22,14>, <-23,21>, <-22,26>, <-21,27>,
  84.     <-19,28>, <-18,28>, <-16,27>, <-12,26>, <-11,26>, <-9,27>, <-5,29>,
  85.     <-2,30>, <2,30>, <2,-30>,
  86.     <-1,-1>
  87. //no_shadow
  88. }
  89.  
  90.  
  91. //el perfil del cuerpo central de la nave visto desde arriba
  92. #declare ptop=union{
  93.          object{pi1top}
  94.          object{pi1top rotate z*180}
  95.          texture{tex_metal1}
  96. }
  97.  
  98. //el cuerpo central de la misma
  99. #declare ptopcentro=intersection{
  100.         object{ptop}
  101.         box{<-12,-10,-31>, <12,11,31>}
  102. }
  103.  
  104. //la vista superior de los laterales de la nave
  105. #declare ptoplateral=difference{
  106.         object{ptop}
  107.         box{<-12,-10,-31>, <12,11,31>}
  108. }
  109.  
  110. //vista lateral del cuerpo central
  111. #declare pilat=prism{
  112. cubic_spline
  113.     24,
  114.     -24,
  115.     31,
  116.     <-4,-10>,
  117.     <5,-30>, <4,-29>, <3,-26>, <1,-18>, <-1,-10>, <-2,-6>, <-4,-1>, <-6,2>,
  118.     <-8,4>, <-9,5>, <-10,9>, <-10,11>, <-9,13>, <-7,16>, <-4,18>, <-2,21>,
  119.     <-1,26>, <0,29>, <2,30>, <4,30>, <5,29>, <8,26>, <9,22>, <10,14>, <11,6>,
  120.     <11,-10>, <10,-18>, <8,-29>, <5,-30>,
  121.     <-4,10>
  122.     texture{tex_metal1}
  123. //no_shadow
  124. scale<1,1,1.1>
  125. }
  126.  
  127. // vista lateral de los extremos (toplat) de la nave
  128. #declare pilat1=prism{
  129. //    quadratic_spline
  130. cubic_spline
  131.     25,
  132.     -25,
  133.     33,
  134.     <-4,-10>,
  135.     <1,-26>, <0,-26>, <-1,-25>, <-2,-20>, <-3,-16>, <-5,-12>, <-6,-10>,
  136.     <-6,-8>, <-4,-5>, <-2,-3>, <-1,1>, <-1,4>, <-3,10>, <-5,13>, <-6,16>,
  137.     <-6,19>, <-4,23>, <-3,27>, <-2,28>, <2,28>, <3,27>, <5,22>, <6,18>,
  138.     <6,12>, <5,5>, <5,-2>, <6,-6>, <6,-14>, <5,-20>, <3,-24>, <1,-26>,
  139.     <4,10>
  140.     texture{tex_metal1}
  141. //no_shadow
  142. scale<1,1,1.1>
  143. }
  144.  
  145.  
  146. #declare pifro1=prism{
  147.     cubic_spline
  148.     31,
  149.     -31,
  150.     26,
  151.     <1,1>,
  152.     <-3,-9>, <-6,-8>, <-8,-6>, <-11,-3>, <-13,-3>, <-16,-6>, <-19,-6>,
  153.     <-22,-4>, <-24,-1>, <-24,0>, <-23,4>, <-21,6>, <-19,7>, <-16,7>,
  154.     <-15,6>, <-13,3>, <-12,.75>, <-10,.75>, <-7,4>, <-4,8>, <-1,10>, <1,9.5>,
  155.     <1,-8.5>, <-3,-9>,
  156.     <-1,-1>
  157.     texture{tex_metal1}
  158. }
  159.  
  160. //pieza correspondiente a la vista frontal
  161. #declare pifron=union{
  162.     object{pifro1}
  163.     object{pifro1 rotate z*180}
  164. }
  165.  
  166. #declare pipropul=sor{
  167.          9,
  168.          <0,0>, <3,0>, <4,1>, <5,3>, <6,7>, <6,12>, <5,18>, <4,20>, <0,20>
  169. }
  170.  
  171. //propulsores
  172. #declare propul=union{
  173.     difference{
  174.          object{pipropul scale<1.2,1,1.2>}
  175.          #declare cont=0
  176.          #while (cont<330)
  177.                 box{<-1,10,-8>, <1,21,8> rotate y*cont}
  178.          #declare cont=cont+30
  179.          #end
  180.          object{pipropul}
  181.          }
  182.     difference{
  183.          object{pipropul}
  184.          object{pipropul scale<.80,1.25,.80> translate <0,-1,0>}
  185.          }
  186.     texture{tex_reactor}
  187. }
  188.  
  189. //plasma del motor, a±adido por Carlos Monterde, para joder.
  190. #declare plasma= intersection{ object{pipropul scale<.80,1.25,.80> translate<0,-1,0>}
  191.                                box{<-10,10,-10><10,15,10>}
  192.                                texture{tex_plasma}
  193.                                }
  194.  
  195. //alas
  196. #declare alah=difference{
  197.     prism{
  198.     linear_spline
  199.         1,
  200.         -1,
  201.         7,
  202.         <0,0>, <-60,0>, <-54,10>, <-24,18>, <-14,18>, <0,10>, <0,0>
  203.     texture{tex_metal1}
  204.     }
  205.     union{
  206.           box{<-20,0.5,6>, <-55,2,20> }
  207.           box{<-30,-2,8>, <-55,-.5,20> }
  208.  
  209.           box{<-8,0.5,-2>, <-16,2,20> }
  210.           box{<-7,-2,-2>, <-14,-.5,20> }
  211.           texture{tex_metal2}
  212.           }
  213. }
  214.  
  215. //cabina
  216. #declare cupula=intersection{
  217.     prism{
  218.         cubic_spline
  219.         0,
  220.         8,
  221.         15,
  222.         <1,1>,
  223.         <-3,-10>, <-5,-7>, <-7,-1>, <-7,5>, <-5,8>, <-2,10>,
  224.         <2,10>, <5,8>, <7,5>, <7,-1>, <5,-7>, <3,-10>, <-3,-10>,
  225.         <1,1>
  226.         }
  227.     prism{
  228.         cubic_spline
  229.         9,
  230.         -9,
  231.         12,
  232.         <1,1>,
  233.         <4,-10>, <3,-10>, <-1,-6>, <-3,-2>, <-4,2>, <-4,6>, <-3,9>,
  234.         <-1,10>, <4,10>, <4,-10>,
  235.         <-1,-1>
  236.         scale <1,1,1.1>
  237.         rotate z*-90
  238.         }
  239.     texture{tex_cupula}
  240. }
  241.  
  242. //el caza
  243. #declare nave=union{
  244.     intersection{
  245.         union{
  246.          intersection{
  247.               object{ptopcentro}
  248.               object{pilat rotate z*-90}
  249.               }
  250.          intersection{
  251.             object{ptoplateral}
  252.             object{pilat1 rotate z*-90}
  253.             }
  254.          }
  255.         object{pifron rotate x*90}
  256.     }
  257. //ventana frontal
  258.     object{cupula translate<0,3,-2>}
  259.     object {propul rotate x*90 translate<26,0,4> }
  260.     object {plasma rotate x*90 translate<26,0,4> }
  261.     light_source{<26,0,24> rgb<.7,.7,1.2>fade_distance 10 fade_power 2}
  262.     //light_source{<-26,0,24> rgb<.7,.7,1.2>fade_distance 10 fade_power 2}
  263.    object{alah rotate z*35 translate <-28,0,10>}
  264.      //object {plasma rotate x*90 translate<-26,0,4> }
  265.     //object {propul rotate x*90 translate<-26,0,4> }
  266.     sphere{<0,0,0> 20 pigment{rgbt<1,1,1,1>}
  267.                         halo{emitting spherical_mapping linear color_map {[ 0 color rgbt <1, 0, 0, 1>][ 1 color rgbt <1, 1, 0, .7>]}
  268.                              scale 15 samples 20 turbulence .2}
  269.           translate<-26,0,14>
  270.           hollow}
  271.     light_source{<-26,0,14> rgb<1,.8,0> fade_distance 100 fade_power 1}
  272.     difference{object{alah rotate z*180 rotate z*-25 translate <28,0,10>}
  273.                object{pipropul rotate x*90 translate<26,0,4>}
  274.                }
  275. // las dos alitas verticales, una de ellas desplazada por la explosion
  276.     object{alah rotate z*-90 scale <.70,.50,.75> rotate z*15 translate <-24,7,12>}
  277.     object{alah rotate z*-90 scale <.70,.50,.75> translate <24,7,12>}
  278.  
  279. //medio propulsor sobre el capo
  280.     object {propul scale <1.45,1,1>  scale <.50,.50,.50> rotate x*90 translate<0,0,-25> }
  281.  
  282. scale .1}
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.